<!DOCTYPE html>



  


<html class="theme-next pisces use-motion" lang="zh-Hans">
<head><meta name="generator" content="Hexo 3.8.0">
  <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="theme-color" content="#222">









<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Cache-Control" content="no-siteapp">
















  
  
  <link href="/blog/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css">







<link href="/blog/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css">

<link href="/blog/css/main.css?v=5.1.4" rel="stylesheet" type="text/css">


  <link rel="apple-touch-icon" sizes="180x180" href="/blog/images/apple-touch-icon-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="32x32" href="/blog/images/favicon-32x32-next.png?v=5.1.4">


  <link rel="icon" type="image/png" sizes="16x16" href="/blog/images/favicon-16x16-next.png?v=5.1.4">


  <link rel="mask-icon" href="/blog/images/logo.svg?v=5.1.4" color="#222">





  <meta name="keywords" content="Web,Tor,">










<meta name="description" content="《基于内部节点的匿名网络测量研究与实现》用通俗的话说，就是修改Tor的源码，搭建一个中间节点，获取其他客户端流经我们时的信息，具体来说就是Hdservice下的目录描述（descriptor），包含了介绍点和公钥的信息。">
<meta name="keywords" content="Web,Tor">
<meta property="og:type" content="article">
<meta property="og:title" content="虚拟机源码安装Tor并与ss+privoxy搭配使用">
<meta property="og:url" content="https://catchmenow.gitee.io/blog/2019/01/27/1/index.html">
<meta property="og:site_name" content="ssilent&#39;s blog">
<meta property="og:description" content="《基于内部节点的匿名网络测量研究与实现》用通俗的话说，就是修改Tor的源码，搭建一个中间节点，获取其他客户端流经我们时的信息，具体来说就是Hdservice下的目录描述（descriptor），包含了介绍点和公钥的信息。">
<meta property="og:locale" content="zh-Hans">
<meta property="og:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/1.png">
<meta property="og:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/2.png">
<meta property="og:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/3.png">
<meta property="og:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/4.png">
<meta property="og:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/5.png">
<meta property="og:updated_time" content="2019-02-03T01:33:08.106Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="虚拟机源码安装Tor并与ss+privoxy搭配使用">
<meta name="twitter:description" content="《基于内部节点的匿名网络测量研究与实现》用通俗的话说，就是修改Tor的源码，搭建一个中间节点，获取其他客户端流经我们时的信息，具体来说就是Hdservice下的目录描述（descriptor），包含了介绍点和公钥的信息。">
<meta name="twitter:image" content="https://catchmenow.gitee.io/blog/2019/01/27/1/1.png">



<script type="text/javascript" id="hexo.configurations">
  var NexT = window.NexT || {};
  var CONFIG = {
    root: '/blog/',
    scheme: 'Pisces',
    version: '5.1.4',
    sidebar: {"position":"left","display":"post","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false},
    fancybox: true,
    tabs: true,
    motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
    duoshuo: {
      userId: '0',
      author: 'ssilent'
    },
    algolia: {
      applicationID: '',
      apiKey: '',
      indexName: '',
      hits: {"per_page":10},
      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
    }
  };
</script>



  <link rel="canonical" href="https://catchmenow.gitee.io/blog/2019/01/27/1/">





  <title>虚拟机源码安装Tor并与ss+privoxy搭配使用 | ssilent's blog</title>
  








</head>

<body itemscope="" itemtype="http://schema.org/WebPage" lang="zh-Hans">

  
  
    
  

  <div class="container sidebar-position-left page-post-detail">
    <div class="headband"></div>
    <a href="https://github.com/Mitsushima0" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewbox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"/><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"/><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"/></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
    
    <header id="header" class="header" itemscope="" itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-wrapper">
  <div class="site-meta ">
    

    <div class="custom-logo-site-title">
      <a href="/blog/" class="brand" rel="start">
        <span class="logo-line-before"><i></i></span>
        <span class="site-title">ssilent's blog</span>
        <span class="logo-line-after"><i></i></span>
      </a>
    </div>
      
        <p class="site-subtitle"></p>
      
  </div>

  <div class="site-nav-toggle">
    <button>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
    </button>
  </div>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/blog/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br>
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/blog/tags/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br>
            
            标签
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/blog/categories/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br>
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/blog/archives/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br>
            
            归档
          </a>
        </li>
      

      
    </ul>
  

  
</nav>



 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  

  
  
  

  <article class="post post-type-normal" itemscope="" itemtype="http://schema.org/Article">
  
  
  
  <div class="post-block">
    <link itemprop="mainEntityOfPage" href="https://catchmenow.gitee.io/blog/blog/2019/01/27/1/">

    <span hidden itemprop="author" itemscope="" itemtype="http://schema.org/Person">
      <meta itemprop="name" content="ssilent">
      <meta itemprop="description" content="">
      <meta itemprop="image" content="/blog/images/p2.jpg">
    </span>

    <span hidden itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="ssilent's blog">
    </span>

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">虚拟机源码安装Tor并与ss+privoxy搭配使用</h1>
        

        <div class="post-meta">
          <span class="post-time">
            
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              
                <span class="post-meta-item-text">发表于</span>
              
              <time title="创建于" itemprop="dateCreated datePublished" datetime="2019-01-27T09:16:52+08:00">
                2019-01-27
              </time>
            

            

            
          </span>

          
            <span class="post-category">
            
              <span class="post-meta-divider">|</span>
            
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              
                <span class="post-meta-item-text">分类于</span>
              
              
                <span itemprop="about" itemscope="" itemtype="http://schema.org/Thing">
                  <a href="/blog/categories/Web/" itemprop="url" rel="index">
                    <span itemprop="name">Web</span>
                  </a>
                </span>

                
                
              
            </span>
          

          
            
              <span class="post-comments-count">
                <span class="post-meta-divider">|</span>
                <span class="post-meta-item-icon">
                  <i class="fa fa-comment-o"></i>
                </span>
                <a href="/blog/2019/01/27/1/#comments" itemprop="discussionUrl">
                  <span class="post-comments-count valine-comment-count" data-xid="/blog/2019/01/27/1/" itemprop="commentCount"></span>
                </a>
              </span>
            
          

          
          

          

          
            <div class="post-wordcount">
              
                
                <span class="post-meta-item-icon">
                  <i class="fa fa-file-word-o"></i>
                </span>
                
                  <span class="post-meta-item-text">字数统计&#58;</span>
                
                <span title="字数统计">
                  1k
                </span>
              

              
                <span class="post-meta-divider">|</span>
              

              
                <span class="post-meta-item-icon">
                  <i class="fa fa-clock-o"></i>
                </span>
                
                  <span class="post-meta-item-text">阅读时长 &asymp;</span>
                
                <span title="阅读时长">
                  4
                </span>
              
            </div>
          

          

        </div>
      </header>
    

    
    
    
    <div class="post-body" itemprop="articleBody">

      
      

      
        <p>《基于内部节点的匿名网络测量研究与实现》<br>用通俗的话说，就是修改Tor的源码，搭建一个中间节点，获取其他客户端流经我们时的信息，具体来说就是Hdservice下的目录描述（descriptor），包含了介绍点和公钥的信息。<br><a id="more"></a><br>为了方便修改且不影响他人工作，可以先在虚拟机上搭建一个可以正常运行的环境，即通过源码安装的Tor服务，然后下一步再去做修改。</p>
<h2 id="环境搭建"><a href="#环境搭建" class="headerlink" title="环境搭建"></a>环境搭建</h2><h3 id="源码安装Tor"><a href="#源码安装Tor" class="headerlink" title="源码安装Tor"></a>源码安装Tor</h3><ol>
<li>安装make<br><code>sudo apt-get install make</code></li>
<li>安装gcc<br><code>sudo apt-get install build-essential</code></li>
<li>创建目录<br><code>mkdir tor-build</code><br><code>cd tor-build</code></li>
<li>安装libevent、openssl和zlib<br><code>sudo apt-get install libevent-dev</code><br><code>sudo apt-get install libssl-dev</code><br><code>sudo apt-get install zlib1g-dev</code></li>
<li>安装stow<br><code>sudo apt-get install stow</code> //便于管理源码安装的程序</li>
<li>编译安装Tor源码<ul>
<li>下载最新的Tor源码并解压<br><code>git clone https://github.com/torproject/tor.git</code><br><code>unzip tor-master</code><br><code>cd tor-master</code><ul>
<li>测试编译环境和依赖、编译、安装<br><code>sh autogen.sh</code><br><code>./configure --prefix=/usr/local/stow/tor</code> //便于管理源码安装的程序<br><code>./configure --prefix=/usr/local/stow/tor --disable-asciidoc</code> //若上面的命令有报错，可能是因为asciidoc<br><code>make</code><br><code>sudo make install</code></li>
</ul>
</li>
</ul>
</li>
<li>生成符号链接<br><code>cd /usr/local/stow/</code><br><code>sudo stow tor</code></li>
<li>运行<br><code>tor</code><br><img src="/blog/2019/01/27/1/1.png" alt="b30b89ca40378a43655166339715048a.png"><br>一般第一次运行会比较慢</li>
<li>若要移除Tor<br><code>cd /usr/local/stow/</code><br><code>sudo stow --delete tor</code></li>
</ol>
<hr>
<h3 id="配置Tor"><a href="#配置Tor" class="headerlink" title="配置Tor"></a>配置Tor</h3><p>安装nyx(Tor的命令行监视器)<br> （1） 安装<br><code>sudo apt-get install stow</code><br>（2）修改torrc<br><code>cd /usr/local/stow/tor/etc/tor</code><br><code>leafpad torrc</code><br><code>#添加下面两行到torrc文件中</code><br><code>ControlPort 9051</code><br><code>CookieAuthentication 1</code><br> （3）运行Tor和nyx<br><code>Tor</code><br><code>nyx</code><br><img src="/blog/2019/01/27/1/2.png" alt="2c3b81a08a806fef66c5fbe4c6d0e9a7.png"><br>可以看到，我们连接目录服务器非常困难，这可能说明我们所在地区对这样的连接有阻碍行为（GFW）<br><strong>解决办法：</strong></p>
<pre><code>1. Use a bridge. This way if direct connection to directory authorities is not possible, the directory authorities try to connect using a bridge.
2. Use Obfsproxy bridges. If the use of regular bridges are also hindered, then this is your next option.
3. If The use of VPN service is allowed in your community, you may use that to connect to Tor. The preference is to use a free VPN so that you leave no money trail. The other advantage of this method is that your ISP or whoever is blocking your connection to the directory authorities would have difficulty figureing out you have connected to Tor. However, the VPN service you use would know that. Thus, it is best to choose a VPN service out of your area which is not under control or influence of your ISP or whoever is blocking your connection to directory authorities.
4. Use a Web proxy to connect to Tor. Use same precautions described in option 3.
5. You may use any combinations of options 1 to 4. For example you may connect to following services in sequence: VPN1, VPN2, Web proxy1, Web proxy2, Tor. you may even add a web proxy or VPN after Tor in addition to before Tor if you wish.
</code></pre><p> 这些方法分别为：网桥、Obfs、VPN、代理、一到四混合使用</p>
<h3 id="安装并配置ss-privoxy"><a href="#安装并配置ss-privoxy" class="headerlink" title="安装并配置ss+privoxy"></a>安装并配置ss+privoxy</h3><p> 安装以及配置ss（代理）、privoxy（将socks转为http代理）<a href="https://www.jianshu.com/p/48b3866b5e2a" target="_blank" rel="noopener"><strong>教程</strong></a> +Torrc配置 <a href="https://blueboy.me/2016/10/26/tor-with-ss.html" target="_blank" rel="noopener"><strong>教程</strong></a><br> 网桥的使用及配置 <a href="https://blog.csdn.net/weixin_40539125/article/details/82178212" target="_blank" rel="noopener"><strong>教程</strong></a>（这个我没用，我只用了ss+privoxy，因为<del>翻墙</del> 突破封锁更实用）</p>
<p>  安装及简单配置照教程就可以了，不过tor+privoxy+ss一起用，还需要把一些端口关联起来。（先照着上面的教程配置，下面的操作是运行Tor时候做的）</p>
<ol>
<li><code>source /etc/profile</code></li>
<li>修改privoxy的配置文件：<br><code>sudo vim /etc/privoxy/config</code><br>然后搜索<code>forward-socks5t</code>, 将 <code>forward-socks5t / 127.0.0.1:1080 .</code> 此句改为<br>修改为<code>forward-socks5t / 127.0.0.1:9050 .</code></li>
<li>修改ss的配置文件：<br><code>sudo leafpad /etc/shadowsocks.json</code>配置一下ss的密码和服务器端口，这个可能过一段时间就需要更新一下。</li>
<li>开始运行<br><code>sudo sslocal -c /etc/shadowsocks.json -d start</code><br><code>sudo privoxy --user privoxy /etc/privoxy/config</code><br>此时打开网页或者curl的结果都是503，因为通过了privoxy转发了9050端口，只有运行了tor服务才能正常访问。<br><code>tor</code><br>再看一下Tor的运行，快了许多。<br><img src="/blog/2019/01/27/1/3.png" alt="e9ba0f67f1ec1c88f0a947227e79cb0e.png"><ol start="5">
<li>需要浏览器访问的话，要修改浏览器代理。<br><a href="https://check.torproject.org/" target="_blank" rel="noopener"><strong>Firefox测试一下</strong></a><br><img src="/blog/2019/01/27/1/4.png" alt="0c14b29e2722860fe9bf6332fbadd0e6.png"></li>
</ol>
</li>
</ol>
<p>最后ctrl+c关闭tor服务，kill掉privoxy并取消代理<br><code>unset http_proxy</code><br><code>unset https_proxy</code><br>现在就能访问普通网页了。</p>
<h2 id="定位函数"><a href="#定位函数" class="headerlink" title="定位函数"></a>定位函数</h2><p> 查询desc函数在<code>\src\feature\dirclient\dirclient.c</code>  的 <code>handle_response_fetch_hsdesc_v3</code><br> 存储desc函数在<code>\src\feature\hs\hs_cache.c</code> 的 <code>hs_cache_store_as_client</code><br> 处理desc加解密源文件<code>\src\feature\hs\hs_descriptor.c</code></p>
<p> <img src="/blog/2019/01/27/1/5.png" alt="7802c389fa41e129f52176aeff6c6be4.png"><br><em>&gt; a graphical depiction of an HS descriptor and its layers</em></p>

      
    </div>
    
    
    

    <div>
      
        
<div class="my_post_copyright">
  <script src="//cdn.bootcss.com/clipboard.js/1.5.10/clipboard.min.js"></script>

  <!-- JS库 sweetalert 可修改路径 -->
  <script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script>
  <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
  <p><span>本文标题:</span><a href="/blog/2019/01/27/1/">虚拟机源码安装Tor并与ss+privoxy搭配使用</a></p>
  <p><span>文章作者:</span><a href="/" title="访问 ssilent 的个人博客">ssilent</a></p>
  <p><span>发布时间:</span>2019年01月27日 - 09:16</p>
  <p><span>最后更新:</span>2019年02月03日 - 09:33</p>
  <p><span>原始链接:</span><a href="/blog/2019/01/27/1/" title="虚拟机源码安装Tor并与ss+privoxy搭配使用">https://catchmenow.gitee.io/blog/2019/01/27/1/</a>
    <span class="copy-path" title="点击复制文章链接"><i class="fa fa-clipboard" data-clipboard-text="https://catchmenow.gitee.io/blog/2019/01/27/1/" aria-label="复制成功！"></i></span>
  </p>
  <p><span>许可协议:</span><i class="fa fa-creative-commons"></i> <a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" target="_blank" title="Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)">署名-非商业性使用-禁止演绎 4.0 国际</a> 转载请保留原文链接及作者。</p>
</div>
<script>
    var clipboard = new Clipboard('.fa-clipboard');
    $(".fa-clipboard").click(function(){
      clipboard.on('success', function(){
        swal({
          title: "",
          text: '复制成功',
          icon: "success",
          showConfirmButton: true
          });
  });
    });
</script>

      
    </div>

    <div>
      
        <div>
    
        <div style="text-align:center;color: #ccc;font-size:14px;">-------------本文结束<i class="fa fa-heartbeat"></i>感谢您的阅读-------------</div>
    
</div>
      
    </div>

    

    

    

    <footer class="post-footer">
      
        <div class="post-tags">
          
            <a href="/blog/tags/Web/" rel="tag"><i class="fa fa-tag"></i> Web</a>
          
            <a href="/blog/tags/Tor/" rel="tag"><i class="fa fa-tag"></i> Tor</a>
          
        </div>
      

      
      
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/blog/2018/07/16/57/" rel="next" title="简单理解XSS">
                <i class="fa fa-chevron-left"></i> 简单理解XSS
              </a>
            
          </div>

          <span class="post-nav-divider"></span>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/blog/2019/02/06/1/" rel="prev" title="初高中英语学习生活回忆">
                初高中英语学习生活回忆 <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </div>
  
  
  
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          

  
    <div class="comments" id="comments">
    </div>
  



        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview-wrap">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview-wrap sidebar-panel">
        <div class="site-overview">
          <div class="site-author motion-element" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
            
              <img class="site-author-image" itemprop="image" src="/blog/images/p2.jpg" alt="ssilent">
            
              <p class="site-author-name" itemprop="name">ssilent</p>
              <p class="site-description motion-element" itemprop="description"></p>
          </div>

          <nav class="site-state motion-element">

            
              <div class="site-state-item site-state-posts">
              
                <a href="/blog/archives/">
              
                  <span class="site-state-item-count">8</span>
                  <span class="site-state-item-name">日志</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-categories">
                <a href="/blog/categories/index.html">
                  <span class="site-state-item-count">5</span>
                  <span class="site-state-item-name">分类</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-tags">
                <a href="/blog/tags/index.html">
                  <span class="site-state-item-count">7</span>
                  <span class="site-state-item-name">标签</span>
                </a>
              </div>
            

          </nav>

          

          

          
          

          
          

          

        </div>
      </section>

      
      <!--noindex-->
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">

            
              
            

            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#环境搭建"><span class="nav-number">1.</span> <span class="nav-text">环境搭建</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#源码安装Tor"><span class="nav-number">1.1.</span> <span class="nav-text">源码安装Tor</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#配置Tor"><span class="nav-number">1.2.</span> <span class="nav-text">配置Tor</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#安装并配置ss-privoxy"><span class="nav-number">1.3.</span> <span class="nav-text">安装并配置ss+privoxy</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#定位函数"><span class="nav-number">2.</span> <span class="nav-text">定位函数</span></a></li></ol></div>
            

          </div>
        </section>
      <!--/noindex-->
      

      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

<div class="copyright">&copy; <span itemprop="copyrightYear">2020</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">ssilent</span>

  
</div>

<div class="powered-by">
<i class="fa fa-user-md"></i><span id="busuanzi_container_site_uv">
  本站访客数:<span id="busuanzi_value_site_uv"></span>
</span>
</div>


<!--

 <div class="powered-by">由 <a class="theme-link" target="_blank" href="https://hexo.io">Hexo</a> 强力驱动</div>

  -->


  <span class="post-meta-divider">|</span>


<!--

  <div class="theme-info">主题 &mdash; <a class="theme-link" target="_blank" href="https://github.com/iissnan/hexo-theme-next">NexT.Pisces</a> v5.1.4</div>

-->



<div class="theme-info">
  <div class="powered-by"></div>
  <span class="post-count">博客全站共17k字</span>
</div>
        







        
      </div>
    </footer>

    
      <div class="back-to-top">
        <i class="fa fa-arrow-up"></i>
        
      </div>
    

    

  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  


  











  
  
    <script type="text/javascript" src="/blog/lib/jquery/index.js?v=2.1.3"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/velocity/velocity.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
  

  
  
    <script type="text/javascript" src="/blog/lib/canvas-nest/canvas-nest.min.js"></script>
  


  


  <script type="text/javascript" src="/blog/js/src/utils.js?v=5.1.4"></script>

  <script type="text/javascript" src="/blog/js/src/motion.js?v=5.1.4"></script>



  
  


  <script type="text/javascript" src="/blog/js/src/affix.js?v=5.1.4"></script>

  <script type="text/javascript" src="/blog/js/src/schemes/pisces.js?v=5.1.4"></script>



  
  <script type="text/javascript" src="/blog/js/src/scrollspy.js?v=5.1.4"></script>
<script type="text/javascript" src="/blog/js/src/post-details.js?v=5.1.4"></script>



  


  <script type="text/javascript" src="/blog/js/src/bootstrap.js?v=5.1.4"></script>



  


  




	





  





  










  <script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/valine/dist/Valine.min.js"></script>

  <script type="text/javascript">
    var GUEST = ['nick','mail','link'];
    var guest = 'nick,mail,link';
    guest = guest.split(',').filter(item=>{
      return GUEST.indexOf(item)>-1;
    });
    new Valine({
        el: '#comments' ,
        verify: false,
        notify: false,
        appId: 'lYp2MtSUmdwhTqLdx7PMPM2R-gzGzoHsz',
        appKey: 'tuvkxTJOf6ngjmCMKwn7e5TS',
        placeholder: '旺仔QQ糖，你也要来一颗吗？',
        avatar:'mm',
        guest_info:guest,
        pageSize:'10' || 10,
    });
  </script>



  





  

  

  

  
  

  

  

  

  
  
  
<script src="/blog/live2dw/lib/L2Dwidget.min.js?0c58a1486de42ac6cc1c59c7d98ae887"></script><script>L2Dwidget.init({"pluginRootPath":"live2dw/","pluginJsPath":"lib/","pluginModelPath":"assets/","model":{"jsonPath":"live2d-widget-model-shiziku"},"display":{"position":"left","width":75,"height":150},"mobile":{"show":true},"log":false,"tagMode":false});</script></body>
</html>
